home *** CD-ROM | disk | FTP | other *** search
/ Kentucky Virtual Art Museum / Kentucky Virtual Art Museum.iso / site / museums / galleries / galleryGo.swf / scripts / FScrollBarSymbol.as next >
Text File  |  2005-08-23  |  14KB  |  383 lines

  1. FScrollBarClass = function()
  2. {
  3.    var _loc1_ = this;
  4.    if(_loc1_._height != 4)
  5.    {
  6.       _loc1_.init();
  7.       _loc1_.minPos = _loc1_.maxPos = _loc1_.pageSize = _loc1_.largeScroll = 0;
  8.       _loc1_.smallScroll = 1;
  9.       _loc1_.width = !_loc1_.horizontal ? _loc1_._height : _loc1_._width;
  10.       _loc1_._xscale = _loc1_._yscale = 100;
  11.       _loc1_.setScrollPosition(0);
  12.       _loc1_.tabEnabled = false;
  13.       if(_loc1_._targetInstanceName.length > 0)
  14.       {
  15.          _loc1_.setScrollTarget(_loc1_._parent[_loc1_._targetInstanceName]);
  16.       }
  17.       _loc1_.tabChildren = false;
  18.       _loc1_.setSize(_loc1_.width);
  19.    }
  20. };
  21. FScrollBarClass.prototype = new FUIComponentClass();
  22. FScrollBarClass.prototype.setHorizontal = function(flag)
  23. {
  24.    var _loc1_ = this;
  25.    var _loc2_ = flag;
  26.    if(_loc1_.horizontal && !_loc2_)
  27.    {
  28.       _loc1_._xscale = 100;
  29.       _loc1_._rotation = 0;
  30.    }
  31.    else if(_loc2_ && !_loc1_.horizontal)
  32.    {
  33.       _loc1_._xscale = -100;
  34.       _loc1_._rotation = -90;
  35.    }
  36.    _loc1_.horizontal = _loc2_;
  37. };
  38. FScrollBarClass.prototype.setScrollProperties = function(pSize, mnPos, mxPos)
  39. {
  40.    var _loc1_ = this;
  41.    if(_loc1_.enable)
  42.    {
  43.       _loc1_.pageSize = pSize;
  44.       _loc1_.minPos = Math.max(mnPos,0);
  45.       _loc1_.maxPos = Math.max(mxPos,0);
  46.       _loc1_.scrollPosition = Math.max(_loc1_.minPos,_loc1_.scrollPosition);
  47.       _loc1_.scrollPosition = Math.min(_loc1_.maxPos,_loc1_.scrollPosition);
  48.       if(_loc1_.maxPos - _loc1_.minPos <= 0)
  49.       {
  50.          _loc1_.scrollThumb_mc.removeMovieClip();
  51.          _loc1_.upArrow_mc.gotoAndStop(3);
  52.          _loc1_.downArrow_mc.gotoAndStop(3);
  53.          _loc1_.downArrow_mc.onPress = _loc1_.downArrow_mc.onRelease = _loc1_.downArrow_mc.onDragOut = null;
  54.          _loc1_.upArrow_mc.onPress = _loc1_.upArrow_mc.onRelease = _loc1_.upArrow_mc.onDragOut = null;
  55.          _loc1_.scrollTrack_mc.onPress = _loc1_.scrollTrack_mc.onRelease = null;
  56.          _loc1_.scrollTrack_mc.onDragOut = _loc1_.scrollTrack_mc.onRollOut = null;
  57.          _loc1_.scrollTrack_mc.useHandCursor = false;
  58.       }
  59.       else
  60.       {
  61.          var _loc2_ = _loc1_.getScrollPosition();
  62.          _loc1_.upArrow_mc.gotoAndStop(1);
  63.          _loc1_.downArrow_mc.gotoAndStop(1);
  64.          _loc1_.upArrow_mc.onPress = _loc1_.upArrow_mc.onDragOver = _loc1_.startUpScroller;
  65.          _loc1_.upArrow_mc.onRelease = _loc1_.upArrow_mc.onDragOut = _loc1_.stopScrolling;
  66.          _loc1_.downArrow_mc.onPress = _loc1_.downArrow_mc.onDragOver = _loc1_.startDownScroller;
  67.          _loc1_.downArrow_mc.onRelease = _loc1_.downArrow_mc.onDragOut = _loc1_.stopScrolling;
  68.          _loc1_.scrollTrack_mc.onPress = _loc1_.scrollTrack_mc.onDragOver = _loc1_.startTrackScroller;
  69.          _loc1_.scrollTrack_mc.onRelease = _loc1_.stopScrolling;
  70.          _loc1_.scrollTrack_mc.onDragOut = _loc1_.stopScrolling;
  71.          _loc1_.scrollTrack_mc.onRollOut = _loc1_.stopScrolling;
  72.          _loc1_.scrollTrack_mc.useHandCursor = false;
  73.          _loc1_.attachMovie("ScrollThumb","scrollThumb_mc",3);
  74.          _loc1_.scrollThumb_mc._x = 0;
  75.          _loc1_.scrollThumb_mc._y = _loc1_.upArrow_mc._height;
  76.          _loc1_.scrollThumb_mc.onPress = _loc1_.startDragThumb;
  77.          _loc1_.scrollThumb_mc.controller = _loc1_;
  78.          _loc1_.scrollThumb_mc.onRelease = _loc1_.scrollThumb_mc.onReleaseOutside = _loc1_.stopDragThumb;
  79.          _loc1_.scrollThumb_mc.useHandCursor = false;
  80.          _loc1_.thumbHeight = _loc1_.pageSize / (_loc1_.maxPos - _loc1_.minPos + _loc1_.pageSize) * _loc1_.trackSize;
  81.          _loc1_.thumbMid_mc = _loc1_.scrollThumb_mc.mc_sliderMid;
  82.          _loc1_.thumbTop_mc = _loc1_.scrollThumb_mc.mc_sliderTop;
  83.          _loc1_.thumbBot_mc = _loc1_.scrollThumb_mc.mc_sliderBot;
  84.          _loc1_.thumbHeight = Math.max(_loc1_.thumbHeight,6);
  85.          _loc1_.midHeight = _loc1_.thumbHeight - _loc1_.thumbTop_mc._height - _loc1_.thumbBot_mc._height;
  86.          _loc1_.thumbMid_mc._yScale = _loc1_.midHeight * 100 / _loc1_.thumbMid_mc._height;
  87.          _loc1_.thumbMid_mc._y = _loc1_.thumbTop_mc._height;
  88.          _loc1_.thumbBot_mc._y = _loc1_.thumbTop_mc._height + _loc1_.midHeight;
  89.          _loc1_.scrollTop = _loc1_.scrollThumb_mc._y;
  90.          _loc1_.trackHeight = _loc1_.trackSize - _loc1_.thumbHeight;
  91.          _loc1_.scrollBot = _loc1_.trackHeight + _loc1_.scrollTop;
  92.          _loc2_ = Math.min(_loc2_,_loc1_.maxPos);
  93.          _loc1_.setScrollPosition(Math.max(_loc2_,_loc1_.minPos));
  94.       }
  95.    }
  96. };
  97. FScrollBarClass.prototype.getScrollPosition = function()
  98. {
  99.    return this.scrollPosition;
  100. };
  101. FScrollBarClass.prototype.setScrollPosition = function(pos)
  102. {
  103.    var _loc1_ = this;
  104.    var _loc2_ = pos;
  105.    _loc1_.scrollPosition = _loc2_;
  106.    if(_loc1_.scrollThumb_mc != undefined)
  107.    {
  108.       _loc2_ = Math.min(_loc2_,_loc1_.maxPos);
  109.       _loc2_ = Math.max(_loc2_,_loc1_.minPos);
  110.    }
  111.    _loc1_.scrollThumb_mc._y = (_loc2_ - _loc1_.minPos) * _loc1_.trackHeight / (_loc1_.maxPos - _loc1_.minPos) + _loc1_.scrollTop;
  112.    _loc1_.executeCallBack();
  113. };
  114. FScrollBarClass.prototype.setLargeScroll = function(lScroll)
  115. {
  116.    this.largeScroll = lScroll;
  117. };
  118. FScrollBarClass.prototype.setSmallScroll = function(sScroll)
  119. {
  120.    this.smallScroll = sScroll;
  121. };
  122. FScrollBarClass.prototype.setEnabled = function(enabledFlag)
  123. {
  124.    var _loc1_ = this;
  125.    var _loc2_ = enabledFlag;
  126.    var _loc3_ = _loc1_.enable;
  127.    if(_loc2_ && !_loc3_)
  128.    {
  129.       _loc1_.enable = _loc2_;
  130.       if(_loc1_.textField != undefined)
  131.       {
  132.          _loc1_.setScrollTarget(_loc1_.textField);
  133.       }
  134.       else
  135.       {
  136.          _loc1_.setScrollProperties(_loc1_.pageSize,_loc1_.cachedMinPos,_loc1_.cachedMaxPos);
  137.          _loc1_.setScrollPosition(_loc1_.cachedPos);
  138.       }
  139.       _loc1_.clickFilter = undefined;
  140.    }
  141.    else if(!_loc2_ && _loc3_)
  142.    {
  143.       _loc1_.textField.removeListener(_loc1_);
  144.       _loc1_.cachedPos = _loc1_.getScrollPosition();
  145.       _loc1_.cachedMinPos = _loc1_.minPos;
  146.       _loc1_.cachedMaxPos = _loc1_.maxPos;
  147.       if(_loc1_.clickFilter == undefined)
  148.       {
  149.          _loc1_.setScrollProperties(_loc1_.pageSize,0,0);
  150.       }
  151.       else
  152.       {
  153.          _loc1_.clickFilter = true;
  154.       }
  155.       _loc1_.enable = _loc2_;
  156.    }
  157. };
  158. FScrollBarClass.prototype.setSize = function(hgt)
  159. {
  160.    var _loc1_ = this;
  161.    if(_loc1_._height != 1)
  162.    {
  163.       _loc1_.width = hgt;
  164.       _loc1_.scrollTrack_mc._yscale = 100;
  165.       _loc1_.scrollTrack_mc._yscale = 100 * _loc1_.width / _loc1_.scrollTrack_mc._height;
  166.       if(_loc1_.upArrow_mc == undefined)
  167.       {
  168.          _loc1_.attachMovie("UpArrow","upArrow_mc",1);
  169.          _loc1_.attachMovie("DownArrow","downArrow_mc",2);
  170.          _loc1_.downArrow_mc.controller = _loc1_.upArrow_mc.controller = _loc1_;
  171.          _loc1_.upArrow_mc.useHandCursor = _loc1_.downArrow_mc.useHandCursor = false;
  172.          _loc1_.upArrow_mc._x = _loc1_.upArrow_mc._y = 0;
  173.          _loc1_.downArrow_mc._x = 0;
  174.       }
  175.       _loc1_.scrollTrack_mc.controller = _loc1_;
  176.       _loc1_.downArrow_mc._y = _loc1_.width - _loc1_.downArrow_mc._height;
  177.       _loc1_.trackSize = _loc1_.width - 2 * _loc1_.downArrow_mc._height;
  178.       if(_loc1_.textField != undefined)
  179.       {
  180.          _loc1_.onTextChanged();
  181.       }
  182.       else
  183.       {
  184.          _loc1_.setScrollProperties(_loc1_.pageSize,_loc1_.minPos,_loc1_.maxPos);
  185.       }
  186.    }
  187. };
  188. FScrollBarClass.prototype.scrollIt = function(inc, mode)
  189. {
  190.    var _loc1_ = this;
  191.    var _loc3_ = _loc1_.smallScroll;
  192.    if(inc != "one")
  193.    {
  194.       _loc3_ = _loc1_.largeScroll != 0 ? _loc1_.largeScroll : _loc1_.pageSize;
  195.    }
  196.    var _loc2_ = _loc1_.getScrollPosition() + mode * _loc3_;
  197.    if(_loc2_ > _loc1_.maxPos)
  198.    {
  199.       _loc2_ = _loc1_.maxPos;
  200.    }
  201.    else if(_loc2_ < _loc1_.minPos)
  202.    {
  203.       _loc2_ = _loc1_.minPos;
  204.    }
  205.    _loc1_.setScrollPosition(_loc2_);
  206. };
  207. FScrollBarClass.prototype.startDragThumb = function()
  208. {
  209.    var _loc1_ = this;
  210.    _loc1_.lastY = _loc1_._ymouse;
  211.    _loc1_.onMouseMove = _loc1_.controller.dragThumb;
  212. };
  213. FScrollBarClass.prototype.dragThumb = function()
  214. {
  215.    var _loc1_ = this;
  216.    _loc1_.scrollMove = _loc1_._ymouse - _loc1_.la